package com.sakura.oj.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sakura.oj.model.dto.solution.SolutionQueryRequest;
import com.sakura.oj.model.entity.ProblemSolution;
import com.sakura.oj.model.vo.ProblemSolutionVo;
import com.sakura.oj.model.vo.RecentlySolutionVo;

import java.util.List;

/**
 * 题解服务
 */
public interface ProblemSolutionService extends IService<ProblemSolution> {

    /**
     * 分页获取题解列表
     *
     * @param solutionQueryRequest 题解查询参数
     * @return 分页数据
     */
    Page<ProblemSolutionVo> listProblemSolutionVoByPage(SolutionQueryRequest solutionQueryRequest, Page<ProblemSolutionVo> page);

    /**
     * 获取最近提交的题解列表
     *
     * @return
     */
    List<RecentlySolutionVo> getRecentlySolutionList();

}
